import type { GetPatientMylistItem } from "./sub_form";

// 医生认证--查询所有科室-层级
export interface GetDepAllData {
  /**
   * 子级集合
   */
  child?: Child[];
  /**
   * 科室id--一级科室
   */
  id?: string;
  /**
   * 科室名称
   */
  name?: string;
  [property: string]: any;
}

export interface Child {
  /**
   * 子级id
   */
  id: string;
  /**
   * 子级name
   */
  name: string;
}

/**
 * 问诊-保存/修改问诊订单
POST
/patient/consult/order
 */
export interface PostPatientConsultOrderParams {
  /**
   * 开药门诊-过敏史0无1有2不清楚
   */
  allergicHistory?: number;
  /**
   * 找医生/极速问诊-是否就诊过0未就诊1就诊过
   */
  consultFlag?: number;
  /**
   * 使用优惠券，必传可使用优惠券id
   */
  couponId?: string;
  /**
   * 选择的科室id-极速问诊必填(选择的科室)
   */
  depId?: string;
  /**
   * 咨询的医生-类型为找医生问诊，字段是必须的
   */
  docId?: string;
  /**
   * 开药门诊-生育状态及计划0无1备孕中2已怀孕3哺乳期
   */
  fertilityStatus?: number;
  /**
   * 病情--症状描述
   */
  illnessDesc: string;
  /**
   * 找医生/极速问诊-患病时间1一周内2一月内3半年内4半年以上
   */
  illnessTime?: number;
  /**
   * 极速问诊类型：0普通1三甲
   */
  illnessType?: number;
  /**
   * 开药门诊-肝功能0正常1异常2不清楚
   */
  liverFunction?: number;
  /**
   * 开药问诊-开药问诊的药品id集合
   */
  medicines?: Medicine[];
  /**
   * 患者id,用于关联患者信息
   */
  patientId: string;
  /**
   * 补充病例信息-图片集合
   */
  pictures?: Picture[];
  /**
   * 开药门诊-肾功能0正常1异常2不清楚
   */
  renalFunction?: number;
  /**
   * 就诊类型1找医生 2极速问诊 3开药问诊默认是1
   */
  type: number;
}

export interface Medicine {
  /**
   * 选择的药品id
   */
  id: string;
  /**
   * 选择的药品数量
   */
  quantity: number;
}

export interface Picture {
  /**
   * 图片id
   */
  id: string;
  /**
   * 图片url
   */
  url: string;

}

//问诊-支付页面-计算就诊信息和抵扣信息--传参
export interface GetPatientConsultOrderPreParams {
  /**
   * 可使用优惠券id,当使用优惠券，且指定了优惠券时，传值
   */
  couponId?: string;
  /**
   * type为1找医生，必传医生信息，返回医生服务费信息
   */
  docId?: string;
  /**
   * 极速问诊级别：0普通1三甲
   */
  illnessType?: string;
  /**
   * 问诊类型1找医生2极速问诊3开药问诊
   */
  type: string;
  /**
   * useCoupon,默认值1，即使用优惠券
   * 传0，不使用优惠券
   * 不传，默认为是，使用优惠券，
   * 其中，不传优惠券id,默认按照最大优惠券使用，
   * 传了优惠券id,表示使用指定的优惠券
   */
  useCoupon?: string;
}

//问诊-支付页面-计算就诊信息和抵扣信息--返回数据
export interface GetPatientConsultOrderPreData {

  actualPayment: number;
  /**
   * 优惠券抵扣
   */
  couponDeduction: number;
  /**
   * 使用的优惠券id-使用优惠券时，返回
   */
  couponId?: string;
  /**
   * 极速问诊类型：0普通1三甲,极速问题必须有值
   */
  illnessType?: number;
  /**
   * 应付款/价格-图文或者极速的费用，极速普通10元，三甲39元
   */
  payment: number;
  /**
   * 积分可抵扣
   */
  pointDeduction: number;
  /**
   * 1问医生2极速问诊2开药问诊--默认是1
   */
  type?: number;
}

/**
 * 支付参数
 */
export interface PostPatientConsultPayParams {
  /**
   * 订单id
   */
  orderId: string
  /**
   * 上课自测时，传值：http://localhost:端口号/+回调页面，
   * vue/uniapp 版本测试环境，传值：http://测试环境域名/+回调页面，
   * 用于决定付款成功后，回调地址是本地还是测试环境地址
   */
  payCallback?: string
  /**
   * 支付方式0微信支付，1支付宝2云闪付
   */
  paymentMethod?: string
}

/**!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 * 问诊-查询订单详情信息 - 返回数据
 */
export interface GetPatientConsultOrderDetailData {
  /**
   * 实付金额
   */
  actualPayment: number
  /**
   * 开药门诊-过敏史0无1有2不清楚
   */
  allergicHistory?: number
  /**
   * 取消/退款进度
   */
  cancelProcess?: string
  /**
   * 取消订单原因
   */
  cancelReason?: string
  /**
   * 取消订单原因文字
   */
  cancelReasonValue?: string
  /**
   * 找医生/极速问诊-是否就诊过0未就诊1就诊过
   */
  consultFlag?: number
  /**
   * 倒计时-1表示计时已过(单位s)
   */
  countdown: number
  /**
   * 优惠券抵扣
   */
  couponDeduction: number
  /**
   * 订单创建时间
   */
  createTime: string
  /**
   * 订单创建人-用于医生端聊天的to对象
   */
  creator: string
  /**
   * 咨询的医生--找医生必有，其他类型有医生接单后，也必有
   */
  docInfo?: DocInfo
  /**
   * 是否已经评价1 已评价0 未评价
   */
  evaluateFlag: number
  /**
   * 存在评价，返回评价id
   */
  evaluateId: string
  /**
   * 开药门诊-生育状态及计划0无1备孕中2已怀孕3哺乳期
   */
  fertilityStatus?: number
  /**
   * 订单id
   */
  id: string
  /**
   * 病情--症状描述
   */
  illnessDesc: string
  /**
   * 找医生/极速问诊-患病时间1一周内2一月内3半年内4半年以上
   */
  illnessTime?: number
  /**
   * 开药门诊-肝功能0正常1异常2不清楚
   */
  liverFunction?: number
  /**
   * 开药问诊必有，其他类型无
   */
  medicines?: Medicine[]
  /**
   * 订单编号
   */
  orderNo: string
  /**
   * 患者id,用于关联患者信息
   */
  patientInfo: GetPatientMylistItem
  /**
   * 应付款/价格
   */
  payment: number
  /**
   * 接诊记录的图片信息集合
   */
  pictures: Picture[]
  /**
   * 积分可抵扣
   */
  pointDeduction: number
  /**
   * 处方id信息
   */
  prescriptionId: string
  /**
   * 开药门诊-肾功能0正常1异常2不清楚
   */
  renalFunction?: number
  /**
   * 订单状态1待支付2待接诊3咨询中4已完成5已取消/药品订单10待支付11待发货12待收货13已完成14已取消
   */
  status: OrderStatus
  /**
   * 问诊的订单状态1待支付2待接诊3咨询中4已完成5已取消/药品订单10待支付11待发货12待收货13已完成14已取消
   */
  statusValue: string
  /**
   * 订单类型1问医生2极速问诊3开药问诊4药品订单
   */
  type: number
}

/**
 * 咨询的医生--找医生必有，其他类型有医生接单后，也必有
 */
export interface DocInfo {
  /**
   * 医生头像
   */
  avatar: string
  /**
   * 科室
   */
  depName: string
  /**
   * 医院等级
   */
  gradeName: string
  /**
   * 医院名称
   */
  hospitalName: string
  /**
   * 医生id
   */
  id: string
  /**
   * 医生姓名
   */
  name: string
  /**
   * 职称
   */
  positionalTitles: string
}

export interface Medicine {
  /**
   * 药品价格
   */
  amount: string
  /**
   * 药品图片
   */
  avatar: string
  /**
   * 主键id
   */
  id: string
  /**
   * 药品名称
   */
  name: string
  /**
   * 是否是处方药0不是1是
   */
  prescriptionFlag: string
  /**
   * 选择的药品数量
   */
  quantity: number
  /**
   * 药品规格
   */
  specs: string
  /**
   * 药品用法用量
   */
  usageDosag: string
}
/**
 * 订单状态 1待支付 2待接诊 3咨询中 4已完成 5已取消
 */
export enum OrderStatus {
  DaiZhiFu = 1,
  DaiJieZhen = 2,
  ZiXunZhong = 3,
  YiWanCheng = 4,
  YiQuXiao = 5,
}

//医生问诊-----------------2.24

export interface GetPatientConsultOrderListParams {
  /**
   * 当前页数，默认1
   */
  current?: number;
  /**
   * 每页的大小默认10
   */
  pageSize?: number;
  /**
   * 1问医生2极速问诊3开药问诊--默认是1
   */
  type?: number;
}


export interface GetPatientConsultOrderListData {
  /**
   * 总页数
   */
  pageTotal: number;
  rows: OrderItem[];
  /**
   * 总条数
   */
  total: number;
}

/**
* 就诊记录列表数据
*/
export interface OrderItem {
    /**
   * 存在评价，返回评价id
   */
    evaluateId: string
  /**
   * 问诊类型
   */
  typeValue?: string
  /**
   * 开药门诊必有-过敏史0无1有2不清楚
   */
  allergicHistory?: number;
  /**
   * 取消/退款进度
   */
  cancelProcess?: string;
  /**
   * 取消订单原因
   */
  cancelReason?: string;
  /**
   * 取消订单原因文字
   */
  cancelReasonValue?: string;
  /**
   * 找医生/极速问诊必有-是否就诊过0未就诊1就诊过
   */
  consultFlag?: number;
  /**
   * 倒计时-1表示计时已过(单位s)
   */
  countdown?: number;
  /**
   * 订单创建时间
   */
  createTime: string;
  /**
   * 咨询的医生--找医生
   */
  docInfo?: DoctorInfo;
  /**
   * 是否已经评价1 已评价0 未评价
   */
  evaluateFlag: string;
  /**
   * 开药门诊必有-生育状态及计划0无1备孕中2已怀孕3哺乳期
   */
  fertilityStatus?: number;
  /**
   * 订单id
   */
  id: string;
  /**
   * 病情--症状描述
   */
  illnessDesc: string;
  /**
   * 找医生/极速问诊必有-患病时间1一周内2一月内3半年内4半年以上
   */
  illnessTime?: number;
  /**
   * 开药门诊必有-肝功能0正常1异常2不清楚
   */
  liverFunction?: number;
  /**
   * 订单编号
   */
  orderNo?: string;
  /**
   * 价格
   */
  payment: number;
  /**
   * 患者id,用于关联患者信息
   */
  patientInfo?: PatientInfo;
  /**
   * 处方id信息
   */
  prescriptionId?: string;
  /**
   * 就诊记录id信息
   */
  recordId: string;
  /**
   * 开药门诊必有-肾功能0正常1异常2不清楚
   */
  renalFunction?: number;
  /**
   * 订单状态：图文问诊或者开药问诊的订单-1待支付2待接诊3咨询中4已完成5已取消/药品订单-10待支付11待发货12待收货13已完成14已取消
   */
  status: OrderStatus;
  /**
   * 订单状态：图文问诊或者开药问诊的订单-1待支付2待接诊3咨询中4已完成5已取消/药品订单-10待支付11待发货12待收货13已完成14已取消
   */
  statusValue?: string;
  /**
   * 订单类型1问医生2极速问诊2开药问诊--默认是1
   */
  type?: number;
}

/**
* 咨询的医生--找医生
*/
export interface DoctorInfo {
  /**
   * 医生头像
   */
  avatar?: string;
  /**
   * 接诊数量
   */
  consultationNum?: number;
  /**
   * 科室
   */
  depName?: string;
  /**
   * 医院等级
   */
  gradeName?: string;
  /**
   * 医院名称
   */
  hospitalName?: string;
  /**
   * 医生id
   */
  id?: string;
  /**
   * 擅长
   */
  major?: string;
  /**
   * 医生姓名
   */
  name?: string;
  /**
   * 职称
   */
  positionalTitles?: string;
  /**
   * 评分
   */
  score?: number;
  /**
   * 服务费
   */
  serviceFee?: number;
  /**
   * 医生状态0休息中1可以咨询
   */
  status?: number;
}

/**
* 患者id,用于关联患者信息
*/
export interface PatientInfo {
  /**
   * 患者年龄
   */
  age: string;
  /**
   * 患者性别
   */
  gender: number;
  /**
   * 患者id
   */
  id: string;
  /**
   * 患者证件信息
   */
  idCard: string;
  /**
   * 患者姓名
   */
  name: string;
}
/**
* 订单状态：图文问诊或者开药问诊的订单-1待支付2待接诊3咨询中4已完成5已取消/药品订单-10待支付11待发货12待收货13已完成14已取消
*/
export enum Status {
  DaiZhiFu = 1,
  DaiJieZhen = 2,
  ZiXunZhong = 3,
  YiWanCheng = 4,
  YiQuXiao = 5,
}